flowchart LR
subgraph s1["compute recreational potential"]
C[("cropping of the 4<br>components file to the<br>extent of interest")]
E["Compute each component's<br>contribution"]
F["Rescale to unit interval"]
end
A("Definition of the<br><i>persona preferences</i>") ---> E
B("Definition of the<br><i>area of interest</i>") --> C
C --> E
E --> F
F --> G["recreational potential spatRast"]
style s1 fill:#FFF9C4
style A color:#000000
style B color:#000000
style C color:#000000
style E color:#000000
style F color:#000000
style G color:#000000
BioDT - The Recreational Model
1. Scope of the Model
The recreational potential model (RP Model) was developed as part of the Cultural Ecosystem Services prototype Digital Twin (CES-pDT) workpackage within the BioDT project. The (CES-pDT) has two independent core models:
the Biodiversity model (developed by Simon Rolph and Dylan Carbone, UK Centre for Ecology & Hydrology, Wallingford, United Kingdom): aims at estimating biodiversity levels across mammals, birds, plant and insects.
the Recreational Potential model (developed by Jan Dick, Chris Andrews, Maddalena Tigli, Megan Williams and Joe Marsh Rossney, UK Centre for Ecology & Hydrology, Edinburgh, United Kingdom): aims at estimating the landscapes’ capacity to provide opportunities for outdoor recreation based on varying user interests.
This report specifically documents the Recreational Potential (RP) Model, detailing its methodology, data sources, operational mechanisms, and outlining areas for future refinement and development.
2. The model
2.1. Model description
The RP Model uses of 4 key components, each representing a different aspect of a landscape’s recreational value:
1) the landscape component (SLSRA)
2) the natural features component (FIPS_N)
3) the infrastructure component (FIPS_I)
4) the water component (Water)
For each of the 4 components, a corresponding raster file was generated ( see [3. The underlying data] paragraph to see where they came from), covering the entirety of Scotland, which is the domain that the RP model covers at the moment. Each component’s raster file store several layers, each describing a specific aspect of that component. The four raster files form the basis for calculating the recreational potential of an area, which is the main output of the RP Model.
In order to run the RP model the user must have made 2 decisions:
the area of interest
the persona preferences
Using the 4 components raster files, the recreational potential is calculated by (1) cropping the files to the area of interest, (2) compute each components contribution, (3) re scaling to unit interval.
area of interest
defined with a bounding box generated with the terra::ext() function
persona preferences
a csv with a numeric score from 0 to 10 for each of the 87 features (one feature = one layer): 13 features for the water component, 40 features for the landscape component, 24 features for the natural component and 10 features for the infrastructure component. The csv has in the first column, the name of the features, and in the second one the name and score of each persona. (see example persona file “presets.csv”). Where a higher score means a higher interest for that specific feature.
cropping the files to the area of interest
The first action the model completes is to crop the 4 components rasters to the area of interest and it does so by using the terra package in R. The terra::vect() function is used to convert the extent object provided by the user (“area of interest”) into a vector polygon (i.e., a rectangular polygon bounding box), and then the terra::crop() function to reduce the size of the raster to that of the vector polygon, trimming the rasters into the desired area of interest.
compute each component’s contribution
For each of the 4 components rasters, the model extracts the values of all its layers for each cell (20m x 20m) and multiplies them (if not NAs) with the corresponding score provided by the user (“persona preference”), the, it sums the values of that cell throughout the layers. In other words, the model computes a weighted sum of the raster layers at each cell, returning a new single layer raster with the result.
rescale to unit interval
Each of the components contribution rasters is then re-scaled so that its values are between 0 and 1 using a “min-max normalization”:
\[ scaled.value = (x-min)/mix-min \]
So the minimum values get assigned a 0, the maximum values get assigned a 1 and all other values are proportionally in between.
Them the 4 components re-scaled rasters are summed (each cell’s value is summed with its respective cell of the other components) and the final raster re-scaled once again using the “min-max normalization”.
recreational potential spatRast
The model’s output is a Spat raster with 5 layers. The first 4 layers show the scores for each component: SLSRA, FIPS_N, FIPS_I, Water, and the 5th layer is that of the combined Recreational_Potential.
2.1. Example run
Here we show examples of model output for 2 different and “opposite” personas (a hard recreationalist and a soft recreationalist) fort the Bush area. From the maps it is possible to observe how the model estimates different areas of higher recreational potential for the two personas. Moreover, it is possible to observe how each of the components contributes to the RP.
Hard recreationalist
Here we show a model run the Bush Estate area using a “hard recreationalist” example of persona (saved as “Hard_Recreationalist” in the persona presets in the model’s package). In the tables below it is possible to see which features had the highest and lowest score for this persona.
| score_group | features |
|---|---|
| highest scores (scored 10 or 9) | Rock Walls (FIPS_N), Mountains (FIPS_N), Inland cliffs, rock pavements and outcrops (SLSRA), Rock cliffs, ledges and shores (SLSRA), National Park (SLSRA) |
| lowest scores (scored 0 or 1) | Built-up areas (FIPS_N), Flood plain (FIPS_N), Depressions (FIPS_N), No slope (FIPS_N), Gentle slope (FIPS_N), Country Park (SLSRA), Raised and blanket bog (SLSRA), Valley mires, poor fens and transition mires (SLSRA), Windthrown woodland (SLSRA), Woodland fringes and clearings and tall forb stands (SLSRA), Bare field or exposed soil (SLSRA), Built-up area (SLSRA), Royal Society for the Protection of Birds (RSPB) Reserve (SLSRA), Pond (Water), Motorway (FIPS_I), A Road (FIPS_I), B Road (FIPS_I), Minor or local road (FIPS_I), Access roads or Track (FIPS_I), Saltings (FIPS_N) |
The hard recreationalist for this example highly values rock walls, mountains, inland and rock cliffs, national parks and traffic free areas, whilst are of less interest features like built-up areas, motorways etc.
Soft recreationalist
Here we show a model run the Bush Estate area using a “soft recreationalist” example of persona (saved as “Soft_Recreationalist” in the persona presets in the model’s package). In the tables below it is possible to see which features had the highest and lowest score for this persona.
The soft recreationalist for this example highly values traffic free areas, coastal features (beaches, dunes), lochs and national parks, whilst are of less interest features like rock walls, buil-up areas, steep slopes etc.
Loading persona 'Soft_Recreationalist' from file 'C:/Users/madtig/AppData/Local/R/win-library/4.4/biodt.recreation/extdata/personas/presets.csv'
Selected an area of 3.1e+07 m^2 .
2.3. The underlying data
The methodology used to create each of the 4 components’ raster file is described in detail in this section.
| name raster | description |
|---|---|
| SLSRA.tif | Landscape component This includes data on land cover type, landscape designations and conservation, and farmland of high nature value. resolution: 20x20 Contains values that either NAs or 1. NAs if that particular layers’ feature is NOT present in the cell, and 1 if it is. |
| FIPS_N.tif | Natural Features component This includes data on land form types, soil types and slope. resolution: 20x20 Contains values that either NAs or 1. NAs if that particular layers’ feature is NOT present in the cell, and 1 if it is. |
| Water.tif | Water component This includes data on water feature types, as the presence of a lake or river. resolution: 20x20 |
| FIPS_I.tif | Infrastructure component This includes data on road and track, footpaths and cycle networks.
|
Landscape component
| nr | Name | Description |
|---|---|---|
| 1 | SLSRA_CP_2 | Country Park |
| 2 | SLSRA_HNV_2 | Designated High Nature Value (HNV) farmland |
| 3 | SLSRA_LCM_1 | Alpine and subalpine grassland |
| 4 | SLSRA_LCM_2 | Arable land and market gardens |
| 5 | SLSRA_LCM_3 | Arctic, alpine and subalpine scrub |
| 6 | SLSRA_LCM_4 | Bare field or exposed soil |
| 7 | SLSRA_LCM_5 | Base-rich fens and calcareous spring mires |
| 8 | SLSRA_LCM_6 | Broadleaved deciduous woodland |
| 9 | SLSRA_LCM_7 | Built-up area |
| 10 | SLSRA_LCM_8 | Coastal dunes and sandy shore |
| 11 | SLSRA_LCM_9 | Coastal shingle |
| 12 | SLSRA_LCM_10 | Dry grassland |
| 13 | SLSRA_LCM_11 | Freshwater |
| 14 | SLSRA_LCM_12 | Inland cliffs, rock pavements and outcrops |
| 15 | SLSRA_LCM_13 | Lines of trees, small planted woodlands, early-stage woodland and coppice |
| 16 | SLSRA_LCM_14 | Littoral sediment or saltmarsh |
| 17 | SLSRA_LCM_15 | Mesic grassland |
| 18 | SLSRA_LCM_16 | Mixed deciduous and coniferous woodland |
| 19 | SLSRA_LCM_17 | Non-native coniferous plantation |
| 20 | SLSRA_LCM_18 | Raised and blanket bog |
| 21 | SLSRA_LCM_19 | Riverine and fen scrubs |
| 22 | SLSRA_LCM_20 | Rock cliffs, ledges and shores |
| 23 | SLSRA_LCM_21 | Scots pine woodland |
| 24 | SLSRA_LCM_22 | Screes |
| 25 | SLSRA_LCM_23 | Seasonally wet and wet grassland |
| 26 | SLSRA_LCM_24 | Temperate montane scrub |
| 27 | SLSRA_LCM_25 | Temperate shrub heathland |
| 28 | SLSRA_LCM_26 | Valley mires, poor fens and transition mires |
| 29 | SLSRA_LCM_27 | Windthrown woodland |
| 30 | SLSRA_LCM_28 | Woodland fringes and clearings and tall forb stands |
| 31 | SLSRA_NNR_2 | National Nature Reserve (NNR) |
| 32 | SLSRA_NP_2 | National Park |
| 33 | SLSRA_NR_2 | Nature Reserve |
| 34 | SLSRA_RP_2 | Regional Park |
| 35 | SLSRA_RSPB_2 | Royal Society for the Protection of Birds (RSPB) Reserve |
| 36 | SLSRA_SAC_2 | Special Area of Conservation (SAC) |
| 37 | SLSRA_SPA_2 | Special Protection Area (SPA) |
| 38 | SLSRA_SSSI_2 | Site of Special Scientific Interest (SSSI) |
| 39 | SLSRA_SWT_2 | Scottish Wildlife Trust Reserve |
| 40 | SLSRA_WLA_2 | Wild Land Areas |
Natural Features component
| nr | Name | Description |
|---|---|---|
| 1 | FIPS_N_Landform_1 | Foothills |
| 2 | FIPS_N_Landform_2 | Mountains |
| 3 | FIPS_N_Landform_3 | Terraces |
| 4 | FIPS_N_Landform_4 | Flood plain |
| 5 | FIPS_N_Landform_5 | Beaches or Dunes |
| 6 | FIPS_N_Landform_6 | Rocks or Scree |
| 7 | FIPS_N_Landform_7 | Depressions |
| 8 | FIPS_N_Landform_8 | Hills |
| 9 | FIPS_N_Landform_9 | Lowlands |
| 10 | FIPS_N_Landform_10 | Rock Walls |
| 11 | FIPS_N_Landform_11 | Uplands |
| 12 | FIPS_N_Landform_12 | Valley sides |
| 13 | FIPS_N_Landform_13 | Valley bottom |
| 14 | FIPS_N_Landform_14 | Built-up areas |
| 15 | FIPS_N_Landform_15 | Saltings |
| 16 | FIPS_N_Landform_16 | Hummocks, mounds or moraines |
| 17 | FIPS_N_Slope_1 | No slope |
| 18 | FIPS_N_Slope_2 | Gentle slope |
| 19 | FIPS_N_Slope_3 | Medium slope |
| 20 | FIPS_N_Slope_4 | Steep slope |
| 21 | FIPS_N_Slope_5 | Very steep slope |
| 22 | FIPS_N_Slope_6 | Extremely steep slope |
| 23 | FIPS_N_Soil_1 | Peat or Organic |
| 24 | FIPS_N_Soil_2 | Mineral |
Infrastructure component
| nr | Name | Description |
|---|---|---|
| 1 | FIPS_I_LocalPathNetwork_2 | Path |
| 2 | FIPS_I_RoadsTracks_4 | Minor or local road |
| 3 | FIPS_I_RoadsTracks_2 | A Road |
| 4 | FIPS_I_RoadsTracks_1 | Motorway |
| 5 | FIPS_I_RoadsTracks_5 | Access roads or Track |
| 6 | FIPS_I_RoadsTracks_3 | B Road |
| 7 | FIPS_I_NationalCycleNetwork_1 | On Road: Paved Surface |
| 8 | FIPS_I_NationalCycleNetwork_2 | Traffic Free: Unpaved Surface |
| 9 | FIPS_I_NationalCycleNetwork_3 | Traffic Free: Paved Surface |
| 10 | FIPS_I_NationalCycleNetwork_4 | On Road: Unpaved Surface |
The infrastructure component is derived from a raster with weather or not the cell had or not that feature (1 = it had it; and NA= did not have it). - which is labelled “original” in the example map for Easter Bush; which CHRISTOPHER ANDREWS TO ADD INFO ABOUT IT HERE.
Then, a value = to the the distance in m its center has from the closest value named “distance” in example map, using the terra::distance function. Since this procedure is very memory consuming, the original Scotland wide raster was split into 20 “windows” and for each of them a 10km “buffer” was allowed (to make sure to not overlook the vicinity to features belonging to neighboring windows).
Then, considering only the cells that were <= 500m distance from a feature, the values were re-scaled from 0 to 1 (1 = present in cell, and then decreasing score as you get away from that cell) named “scored” in map below, using the JOE TO ADD PAPER THIS FUNCTION and kappa and alpha values COMES FROM:
\[ distance (m) = \frac{\kappa + 1}{\kappa + \exp(\alpha x)} \]
Water component
| nr | Name | Description |
|---|---|---|
| 1 | Water_Lakes_1 | Pond |
| 2 | Water_Lakes_2 | Lochan |
| 3 | Water_Lakes_3 | Small Lochs |
| 4 | Water_Lakes_4 | Medium Lochs |
| 5 | Water_Lakes_5 | Large Lochs |
| 6 | Water_Lakes_6 | Major Lochs |
| 7 | Water_Rivers_1 | Minor river or tributary |
| 8 | Water_Rivers_2 | Unnamed minor stream or tributary |
| 9 | Water_Rivers_3 | Major river or tributary |
| 10 | Water_Rivers_4 | Named minor stream or tributary |
| 11 | Water_Rivers_5 | Lake |
| 12 | Water_Rivers_6 | Tidal river or estuary |
| 13 | Water_Rivers_7 | Canal |
In the same way as infrastructure:
3. The Shiny app for the “watches” spin off
4. Running the model for the whole of Scotland
5. Lessons learned
using terra:: spatrasts instead of raster:: rasters has improved the performance significantly
pre-processing the majority of the operations on the scotland wide component rasters (uniforming their extent, resolution, projection, pre calculating the distance, and score etc.) incredibly reduces the run time.
6. Future improvements
less features o score, merge features into bigger categories
link the model to “alive” data set” that gets updated regularly to generate up to date original raster layers
at the moment all four components weight the same, there can be an option to have them weight differently, as the user specifies.